/**
 * 自定义Prop
 */
export type ElUploadCustomerProps = {
    /**
     * 请求URL
     */
    action?: string
    /**
     * 上传的文件字段名
     */
    name?: string
    /**
     * 上传时附带的额外参数
     */
    data?: Record<string, any>
    /**
     * 上传的请求头部
     */
    headers?: Record<string, any>
    /**
     * 是否支持多选文件
     */
    multiple?: boolean
    /**
     * 是否禁用
     */
    disabled?: boolean
    /**
     * 最大允许上传个数
     */
    limit?: number
}

/**
 * 自定义Emit
 */
export type ElUploadCustomerEvents = {
    /**
     * 文件上传成功时触发
     */
    success: (response: any, file: any, fileList: any[]) => void
    /**
     * 文件上传失败时触发
     */
    error: (error: any, file: any, fileList: any[]) => void
    /**
     * 文件上传进行中时触发
     */
    progress: (event: any, file: any, fileList: any[]) => void
    /**
     * 文件列表移除时触发
     */
    remove: (file: any, fileList: any[]) => void
    /**
     * 文件状态改变时触发
     */
    change: (file: any, fileList: any[]) => void
}

/**
 * 自定义属性
 */
export type ElUploadCustomerExtend = {
    /**
     * 默认显示的文件列表
     */
    fileList?: Array<any>
}